public class Solution {
    /**
     * 代码中的类名、方法名、参数名已经指定，请勿修改，直接返回方法规定的值即可
     * 计算两个数之和
     * @param s string字符串 表示第一个整数
     * @param t string字符串 表示第二个整数
     * @return string字符串
     */
    public String solve (String s, String t) {
        // write code here
        StringBuilder sbd = new StringBuilder();
        int i = s.length() - 1;
        int j = t.length() - 1;
        int carry = 0;
        while(i >= 0 || j >= 0 ||/*不要忽略最后的进位*/ carry != 0) {  // 注意这个循环的运用：使得不需要分情况讨论不同长度的字符串
            int a = i >= 0 ? s.charAt(i--) - '0' : 0;  /*字符数字的处理*/
            int b = j >= 0 ? t.charAt(j--) - '0' : 0;
            int sum = a + b + carry;
            carry = sum / 10;
            sbd.append(sum % 10); /*stringbuilder可以直接放入数字，因为传入额参数不是char*/
        }
        return sbd.reverse().toString();
    }
}